import Vue from 'vue'

const filters = {
  /* 手机号脱敏格式过滤器 */
  phoneCut(value) {
    if (typeof value === 'string') { // 参数为字符串类型
      let ruten = value.substring(3, 7) // 提取字符串下标之间的字符。
      return value.replace(ruten, '****') // 字符串中用字符替换另外字符，或替换一个与正则表达式匹配的子串。
    }
  },
  /* 邮箱脱敏格式过滤器 */
  emilCut(value) {
    if (typeof value === 'string') { // 参数为字符串类型
      let strings = value.split('@')
      // console.log(strings, 'str')
      let str = strings[0].substring(1, strings[0].length - 1)
      // let result = strings[0].replace(str, '*******') + strings[1]
      return strings[0].replace(str, '*******') + '@' + strings[1]
    }
  },
  /* 将字符串中指定位置的文本替换 */
  replacepos(val, start, end, txt) {
    return val.substring(0, start) + txt + val.substring(end)
  },
  /* 订单状态 */
  orderState(val, bk) {
    let strs
    if (bk) {
      // 帮客接任务状态：0 领取失败 1 等待指定, 2 工作中(定金支付), 3 工作中, 4 已完成, 5 已取消, 6 已评价, 7 订单作废 10 质保中
      strs = ['领取失败', '待指定', '工作中', '工作中', '待评价', '已取消', '已完成', '订单作废', '', '', '质保中']
    } else {
      // 雇主发任务状态：0 待付款, 1 匹配中, 2 工作中(订金支付), 3 工作中, 4 已完成, 5 已取消, 6 已评价, 7 订单作废 10 质保中
      strs = ['待付款', '匹配中', '工作中', '工作中', '待评价', '已取消', '已完成', '订单作废', '', '', '质保中']
    }

    return strs[Number(val)]
  },
  // 订单状态转换为进度条，与上面的orderState对应
  orderProgress(val, bk) {
    let strs
    if (bk) {
      // 帮客
      strs = [0, 10, 25, 25, 75, 0, 100, 0, 100, 100, 100]
    } else {
      // 雇主
      strs = [0, 10, 10, 25, 75, 0, 100, 0, 100, 100, 100]
    }

    return strs[Number(val)]
  },
  // 会员等级
  vipStr: function (val) {
    // 0 普通用户', 1 '实名用户', 2 'vip', 3 'svip', 4 '冻结用户
    var j = {
      '0': '普通用户',
      '1': '实名用户',
      '2': 'vip',
      '3': 'svip',
      '4': '冻结'
    }
    return j[String(val)]
  },
  // 钱处理
  priceDecimal: function (val) {
    val = Number(val) || 0
    return val / 100
  },
  // 不同任务状态下，滑块颜色
  pivotColor: function (state) {
    let color = [
      '#888888',
      '#EB6131',
      '#2bc9d5',
      '#0CC893',
      '#1987fa',
      '#aaaaaa',
      '#1987fa',
      '#000000',
      '#1987fa',
      '#1987fa',
      '#24c362'
    ][Number(state || 0)]

    return color
  },
  // 不同任务状态下，进度条颜色
  progressColor: function (state) {
    let color = [
      ['#888888', '#696969'],
      ['#c5542c', '#EB6131'],
      ['#26949f', '#2bc9d5'],
      ['#0ba275', '#0CC893'],
      ['#1668c0', '#1987fa'],
      ['#888888', '#696969'],
      ['#1668c0', '#196cd7'],
      ['#000000', '#000000'],
      ['#1668c0', '#196cd7'],
      ['#1668c0', '#196cd7'],
      ['#209349', '#24c362']
    ][Number(state || 0)]

    return `linear-gradient(to right, ${color[0]}, ${color[1]})`
  }
}

for (var key in filters) {
  Vue.filter(key, filters[key])
}
